home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1997 #3 / Amiga Plus CD - 1997 - No. 03.iso / pd / programmierung / alienbreed3d2_src / amos / 256brighten.amos / 256brighten.amosSourceCode
AMOS Source Code  |  1997-01-31  |  2KB  |  144 lines

  1. Reserve As Work 15,20000
  2.    Bload "ab3:includes/256pal",Start(15)
  3. Dim R(255),G(255),B(255)
  4. N=Start(15)
  5. For A=0 To 255
  6. R(A)=Deek(N) : Add N,2
  7. G(A)=Deek(N) : Add N,2
  8. B(A)=Deek(N) : Add N,2
  9. Next 
  10.  
  11. Erase 15
  12. ' Print "CALCULATING WATER FILE...." 
  13. '
  14. 'Reserve As Work 15,8192*8'
  15. 'N=Start(15) 
  16. 'For D=16 To 1 Step -1 
  17. 'TS=N
  18. 'WR=(134*D)/16 
  19. 'WG=(204*D)/16 
  20. 'WB=(255*D)/16 
  21. ''WR=WR*$100 
  22. ''WG=WG*$10  
  23. ''WB=WB  
  24. 'Hide On 
  25. 'For A=0 To 255
  26. '  
  27. 'R=(R(A)*180)/255
  28. 'G=(G(A)*180)/255
  29. 'B=(B(A)*180)/255
  30. '
  31. 'If D>12 
  32. '   V=D-12 
  33. '   R=Min(255,R+(40*V)/4)
  34. '   G=Min(255,G+(40*V)/4)  
  35. '   B=Min(255,B+(40*V)/4)
  36. 'End If  
  37. '
  38. 'If D<12 
  39. '   R=(R*D)/12 
  40. '   G=(G*D)/12 
  41. '   B=(B*D)/12 
  42. 'End If  
  43. '
  44. 'DQ=10000000 
  45. 'TC=0
  46. 'For Z=0 To 255
  47. 'DR=Abs(R-R(Z))
  48. 'DG=Abs(G-G(Z))
  49. 'DB=Abs(B-B(Z))
  50. '
  51. 'ND=(DR*3)+(DG*4)+(DB*2) 
  52. 'If ND<DQ Then DQ=ND : TC=Z
  53. 'Next  
  54. '
  55. 'Doke N,TC*256+TC
  56. 'Add N,2 
  57. 'Next  
  58. '
  59. 'Next  
  60. '
  61. '' For A=0 To 5  
  62. '' For B=0 To 255  
  63. '' Doke N,Deek(TS) 
  64. '' Add TS,2  
  65. ''Add N,2  
  66. ''Next   
  67. ''Next   
  68. '
  69. 'Bsave "ab3:includes/brightenfile",Start(15) To N
  70.  
  71. Print "NOW DOING GLARE/SHADOW FILE"
  72.  
  73. Reserve As Work 15,8192*8
  74. N=Start(15)
  75. For D=64 To 1 Step -1
  76. TS=N
  77. WR=(134*D)/16
  78. WG=(204*D)/16
  79. WB=(255*D)/16
  80. 'WR=WR*$100
  81. 'WG=WG*$10 
  82. 'WB=WB 
  83. Hide On 
  84. For A=0 To 255
  85.  
  86. R=R(A)
  87. G=G(A)
  88. B=B(A)
  89.  
  90. If D>32
  91.    V=D-32
  92.    R=Min(255,R+(255*V)/32)
  93.    G=Min(255,G+(255*V)/32)
  94.    B=Min(255,B+(255*V)/32)
  95. End If 
  96.  
  97. If D<33
  98.    R=(R*D)/32
  99.    G=(G*D)/32
  100.    B=(B*D)/32
  101. End If 
  102.  
  103. DQ=10000000
  104. TC=0
  105. For Z=0 To 255
  106. DR=Abs(R-R(Z))
  107. DG=Abs(G-G(Z))
  108. DB=Abs(B-B(Z))
  109.  
  110. ND=(DR*3)+(DG*4)+(DB*2)
  111. If ND<DQ Then DQ=ND : TC=Z
  112.  
  113. Next 
  114.  
  115. Poke N,TC
  116. Add N,1
  117. Next 
  118.  
  119. Next 
  120.  
  121. ' For A=0 To 5 
  122. ' For B=0 To 255 
  123. ' Doke N,Deek(TS)
  124. ' Add TS,2 
  125. 'Add N,2 
  126. 'Next  
  127. 'Next  
  128.  
  129. Screen Open 0,640,256,2,Hires
  130. Curs Off : Flash Off : Cls 0
  131. Colour 1,$FFF
  132. Centre "In a moment you will be prompted for a filename."
  133. Print 
  134. Centre "Click on the file you created using the 256TEXTURE program."
  135. Print 
  136. Centre "This program will save out a similar file with a .PAL extension."
  137.  
  138. Print 
  139. Centre "Press a key."
  140. Wait Key 
  141. Show On 
  142. F$=Fsel$("ab3:includes/","newtexturemaps","Select your existing TEXTURE file")
  143.  
  144. Bsave F$+".PAL",Start(15) To N